Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recreate container on volume configuration change #12363

Merged
merged 2 commits into from
Dec 12, 2024

Conversation

ndeloof
Copy link
Contributor

@ndeloof ndeloof commented Dec 9, 2024

What I did
supersede #12223

  • detect actual volume doesn't match configuration
  • request user to confirm dropping volume before recreation, until ran with --yes
  • recreate container if the mounted volume is not the expected one

drawbacks:

  • anonymous volumes from previous container can't be re-attached to recreated one, as we have to remove container (we miss a VolumeRename API)

Related issue
fixes #10060

(not mandatory) A picture of a cute animal, if possible in relation to what you did

Signed-off-by: Joana Hrotko <joana.hrotko@docker.com>
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
@ndeloof ndeloof requested review from a team and glours and removed request for a team December 10, 2024 09:24
@ndeloof ndeloof force-pushed the volume_change branch 4 times, most recently from 34e1c05 to ba29a47 Compare December 12, 2024 13:43
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Copy link
Contributor

@glours glours left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me and tests ok 👌

@ndeloof ndeloof merged commit 8e0520e into docker:main Dec 12, 2024
30 checks passed
@jhrotko
Copy link
Contributor

jhrotko commented Dec 15, 2024

Nice!

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 20, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/compose](https://github.com/docker/compose) | minor | `v2.31.0` -> `v2.32.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>docker/compose (docker/compose)</summary>

### [`v2.32.1`](https://github.com/docker/compose/releases/tag/v2.32.1)

[Compare Source](docker/compose@v2.32.0...v2.32.1)

#### What's Changed

##### 🐛 Fixes

-   only check volume mounts for updated config by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12386
-   e2e test to prevent future regression by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12389

**Full Changelog**: docker/compose@v2.32.0...v2.32.1

### [`v2.32.0`](https://github.com/docker/compose/releases/tag/v2.32.0)

[Compare Source](docker/compose@v2.31.0...v2.32.0)

#### What's Changed

##### ✨ Improvements

-   build with bake by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12344
-   introduce watch restart action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12375
-   introduce sync+exec watch action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12330
-   Recreate container on volume configuration change by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12363

##### 🐛 Fixes

-   fix support for service.mac_address by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12371
-   pull --quiet should not drop status message, only progress by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12358
-   do not require a build section but for `rebuild` action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12343
-   log configuration error as a watch log event by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12359

##### 🔧  Internal

-   disable failing TestBuildSSH test by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12349
-   Make e2e tests pass locally by [@&#8203;glours](https://github.com/glours) in docker/compose#12348

##### ⚙️ Dependencies

-   bump docker + buildx to latest release by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12372
-   bump otel dependencies to v1.28.0 and v0.53.0 to align with buildx, buildkit and engine versions by [@&#8203;glours](https://github.com/glours) in docker/compose#12338
-   build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12378
-   build(deps): bump golang.org/x/crypto from 0.27.0 to 0.31.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12377
-   build(deps): bump google.golang.org/grpc from 1.68.0 to 1.68.1 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12353
-   build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12352
-   update xx to v1.6.1 for compatibility with alpine 3.21 and file 5.46+ by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12366

**Full Changelog**: docker/compose@v2.31.0...v2.32.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS42NC4wIiwidXBkYXRlZEluVmVyIjoiMzkuNjkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] docker compose up does not recreate containers when named volume configuration is changed
3 participants